package com.by.zhdoctor.domain;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

import javax.persistence.*;
import javax.validation.constraints.*;
import java.io.Serializable;
import java.util.Objects;

/**
 * A D_m_zhenghe_doctor_expr_stat.
 */
@Entity
@Table(name = "d_m_zhenghe_doctor_expr_stat")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class D_m_zhenghe_doctor_expr_stat implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    @NotNull
    @Column(name = "stati_date", nullable = false)
    private String stati_date;

    @NotNull
    @Column(name = "dept_name", nullable = false)
    private String dept_name;

    @Column(name = "exp_1_t_5_doctors")
    private Integer exp1t5_doctors;

    @Column(name = "exp_5_t_10_doctors")
    private Integer exp5t10_doctors;

    @Column(name = "exp_10_t_20_doctors")
    private Integer exp10t20_doctors;

    @Column(name = "exp_20_t_30_doctors")
    private Integer exp20t30_doctors;

    @Column(name = "exp_30_doctors")
    private Integer exp30_doctors;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getStati_date() {
        return stati_date;
    }

    public D_m_zhenghe_doctor_expr_stat stati_date(String stati_date) {
        this.stati_date = stati_date;
        return this;
    }

    public void setStati_date(String stati_date) {
        this.stati_date = stati_date;
    }

    public String getDept_name() {
        return dept_name;
    }

    public D_m_zhenghe_doctor_expr_stat dept_name(String dept_name) {
        this.dept_name = dept_name;
        return this;
    }

    public void setDept_name(String dept_name) {
        this.dept_name = dept_name;
    }

    public Integer getExp1t5_doctors() {
        return exp1t5_doctors;
    }

    public D_m_zhenghe_doctor_expr_stat exp1t5_doctors(Integer exp1t5_doctors) {
        this.exp1t5_doctors = exp1t5_doctors;
        return this;
    }

    public void setExp1t5_doctors(Integer exp1t5_doctors) {
        this.exp1t5_doctors = exp1t5_doctors;
    }

    public Integer getExp5t10_doctors() {
        return exp5t10_doctors;
    }

    public D_m_zhenghe_doctor_expr_stat exp5t10_doctors(Integer exp5t10_doctors) {
        this.exp5t10_doctors = exp5t10_doctors;
        return this;
    }

    public void setExp5t10_doctors(Integer exp5t10_doctors) {
        this.exp5t10_doctors = exp5t10_doctors;
    }

    public Integer getExp10t20_doctors() {
        return exp10t20_doctors;
    }

    public D_m_zhenghe_doctor_expr_stat exp10t20_doctors(Integer exp10t20_doctors) {
        this.exp10t20_doctors = exp10t20_doctors;
        return this;
    }

    public void setExp10t20_doctors(Integer exp10t20_doctors) {
        this.exp10t20_doctors = exp10t20_doctors;
    }

    public Integer getExp20t30_doctors() {
        return exp20t30_doctors;
    }

    public D_m_zhenghe_doctor_expr_stat exp20t30_doctors(Integer exp20t30_doctors) {
        this.exp20t30_doctors = exp20t30_doctors;
        return this;
    }

    public void setExp20t30_doctors(Integer exp20t30_doctors) {
        this.exp20t30_doctors = exp20t30_doctors;
    }

    public Integer getExp30_doctors() {
        return exp30_doctors;
    }

    public D_m_zhenghe_doctor_expr_stat exp30_doctors(Integer exp30_doctors) {
        this.exp30_doctors = exp30_doctors;
        return this;
    }

    public void setExp30_doctors(Integer exp30_doctors) {
        this.exp30_doctors = exp30_doctors;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        D_m_zhenghe_doctor_expr_stat d_m_zhenghe_doctor_expr_stat = (D_m_zhenghe_doctor_expr_stat) o;
        if (d_m_zhenghe_doctor_expr_stat.id == null || id == null) {
            return false;
        }
        return Objects.equals(id, d_m_zhenghe_doctor_expr_stat.id);
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(id);
    }

    @Override
    public String toString() {
        return "D_m_zhenghe_doctor_expr_stat{" +
            "id=" + id +
            ", stati_date='" + stati_date + "'" +
            ", dept_name='" + dept_name + "'" +
            ", exp1t5_doctors='" + exp1t5_doctors + "'" +
            ", exp5t10_doctors='" + exp5t10_doctors + "'" +
            ", exp10t20_doctors='" + exp10t20_doctors + "'" +
            ", exp20t30_doctors='" + exp20t30_doctors + "'" +
            ", exp30_doctors='" + exp30_doctors + "'" +
            '}';
    }
}
